import logging
from logging.handlers import TimedRotatingFileHandler
import datetime
import os 
from core import  fva

# today = datetime.datetime.now().strftime("%Y-%m-%d")

def init_log(log_file_dir:str, log_level:int = logging.DEBUG):
    '''获取的一个日志器'''

    # 创建日志对象
    logger = logging.getLogger(__name__)
    logger.setLevel(log_level)

    # 创建控制台处理器
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.DEBUG)
    
    if not os.path.isdir(log_file_dir+os.sep):
        os.makedirs( log_file_dir+os.sep )
        
    # 创建文件处理器，每天轮换一次日志文件
    file_handler = TimedRotatingFileHandler(filename=log_file_dir+os.sep+'log.log', 
                                            when='midnight', 
                                            interval=1, 
                                            backupCount=7,
                                            encoding='utf8')

    print(log_file_dir+'log.log')
    
    file_handler.setLevel(logging.DEBUG)

    # 设置日志格式
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    console_handler.setFormatter(formatter)
    file_handler.setFormatter(formatter)

    # 将处理器添加到日志对象
    logger.addHandler(console_handler)
    logger.addHandler(file_handler)

    fva.logger = logger

    return logger
